package com.example.personblog.common;

import lombok.Getter;

@Getter
public enum ResultEnum {
    
    SUCCESS(200, "操作成功"),
    FAILED(500, "操作失败"),
    VALIDATE_FAILED(404, "参数检验失败"),
    UNAUTHORIZED(401, "暂未登录或token已经过期"),
    FORBIDDEN(403, "没有相关权限"),
    
    // 用户相关错误
    USER_NOT_EXIST(1001, "用户不存在"),
    USER_LOGIN_FAILED(1002, "用户名或密码错误"),
    USER_ALREADY_EXIST(1003, "用户名已存在"),
    
    // 参数相关错误
    PARAM_NOT_VALID(2001, "参数不合法"),
    PARAM_IS_BLANK(2002, "参数为空"),
    
    // 文件相关错误
    FILE_UPLOAD_FAILED(3001, "文件上传失败"),
    FILE_NOT_EXIST(3002, "文件不存在"),
    
    // 系统错误
    SYSTEM_ERROR(9999, "系统错误，请联系管理员"),
    
    // 令牌相关错误
    TOKEN_EXPIRED(1004, "Token已过期"),
    TOKEN_INVALID(1005, "无效的Token"),
    REFRESH_TOKEN_INVALID(1006, "无效的刷新Token"),
    
    // 帖子相关错误
    POST_NOT_EXIST(5001, "帖子不存在"),
    POST_NO_PERMISSION(5002, "没有操作该帖子的权限"),
    
    // 评论相关错误
    COMMENT_NOT_EXIST(6001, "评论不存在"),
    COMMENT_NO_PERMISSION(6002, "没有操作该评论的权限");

    private final Integer code;
    private final String message;

    ResultEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
} 